The present invention is directed to video display systems and more particularly to apparatus and methods for manipulating binary format data to create specific visual responses on the display. The invention finds particular application in graphics systems, where multiple forms of information are being generated, manipulated and visually portrayed to the user of the system. In such a context it is particularly useful to avoid confusing interaction between the various forms of the information being portrayed.
Computerized video graphics systems of contemporary design routinely utilize windows to portray independent blocks of information. The user of the system routinely has the power to operate within a window, operate in areas outside a window, or to relate activities of various windows.
The image portrayed on the video display of the system is normally stored in a memory array conventionally known as a frame buffer. The frame buffer is periodically scanned or otherwise accessed to ascertain the color, intensity and the like information conventionally used to generate the image on the video display itself. The image as stored in the frame buffer is associated with a window mask. Consequently, when a window is removed from view the appropriate underlying image must be regenerated in the changed region of the frame buffer.
Overlays and masks are two forms of graphics data manipulation which do not change the image as stored in the frame buffer. The advantage of such implementations is that the frame buffer does not have to be modified upon the creation or deletion of such control mechanisms. The effects of masks and overlays for each pixel position are conventionally introduced in the digital-to-analog converter, commonly referred to as a RAMDAC, which is used to convert frame buffer binary data to analog video output signals. The mask plane and overlay plane information supersedes by pixel the related data derived from the frame buffer.
A representative example of an overlay would be a blinking grid pattern which covers all or part of the video display screen. No manipulation of the image information as stored in the frame buffer is necessary yet the overlay is cyclically introduced by a frame buffer pixel location related override input into the RAMDAC.
The information representing each overlay plane is normally stored in a memory array analogous to a frame buffer, but with fewer bit planes. Consequently, the graphical effect of the overlay can be related to selected regions of the image in the frame buffer, for example, providing a grid coextensive with two windows within the frame buffer and a pop-up menu for a third window. Unfortunately, in this context, if the overlay is cycled so as to cause a blinking phenomenon on the screen, such as for the objective of drawing attention to one of the windows, the overlay blinks in all of the windows. Consequently, to provide a blinking overlay capability referenced to a window, a complete overlay plane must be consumed for each overlay pattern subject to such independent manipulation. Given the fact that overlays are usually composed of multiple bit planes and provide graphic information over the whole frame buffer image, the size of the memory associated with each overlay is significant and grows in geometric proportion to the pixel count of the screen. Therefore, it is desirable to independently relate overlay patterns to multiple windows within the context of a single overlay plane and through the use of conventional RAMDAC technology. In such a context, it would be beneficial to have, for example, a single overlay plane provide a first color grid for a first window, a second color checkered pattern for a second window, a blinking overlay in a third window and a pull-down menu in a fourth window, while using a conventional RAMDAC device.
Further background information relating to the technology of the present invention appears in the above-identified patent application as well as issued U.S. Pat. Nos. 4,317,114; 4,653,020; 4,682,298 and 4,691,295.